package com.smart4j.chapter.common.dao;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

/**
 * description: common service .
 * @version v1.0
 * @author w
 * @date 2018年8月5日上午11:52:52
 *
 */

public interface BaseService<T> {
	
	/**
	 * description:获取一条记录
	 * @param id
	 * @return
	 * T
	 * @version v1.0
	 * @author w
	 * @date 2018年8月5日 上午11:58:10
	 *
	 */
	T get (String id);
	
	/**
	 * description:获取一条记录
	 * @param id
	 * @return
	 * T
	 * @version v1.0
	 * @author w
	 * @date 2018年8月5日 上午11:58:10
	 *
	 */
	T get (T t);
	
	/**
	 * description: 删除一条记录 -- 逻辑删除
	 * @param id
	 * @return
	 * int
	 * @version v1.0
	 * @author w
	 * @date 2018年8月5日 下午12:01:05
	 *
	 */
	Boolean del(String id);
	
	/**
	 * description: 删除一条记录 -- 逻辑删除
	 * @param id
	 * @return
	 * int
	 * @version v1.0
	 * @author w
	 * @date 2018年8月5日 下午12:01:05
	 */
	Boolean del(T t);
	
	/**
	 * description:更新一条记录
	 * @param t
	 * @return
	 * int
	 * @version v1.0
	 * @author w
	 * @date 2018年8月5日 下午12:01:38
	 */
	Boolean update(T t,HttpServletRequest request);
	
	/**
	 * description: 添加一条记录
	 * @param t
	 * @return
	 * int
	 * @version v1.0
	 * @author w
	 * @date 2018年8月5日 下午12:02:08
	 */
	Boolean add(T t,HttpServletRequest request );
	

	/**
	 * description: 获取记录list
	 * @param t
	 * @return
	 * int
	 * @version v1.0
	 * @author w
	 * @date 2018年8月5日 下午12:02:08
	 */
	List<T> findList(T t);
	
	/**
	 * description: 获取list 分页--- 待实现。。。 
	 * @param t
	 * @return
	 * List<T>
	 * @version v1.0
	 * @author w
	 * @date 2018年8月5日 下午12:02:37
	 *
	 */
	List<T> findPage(T t);
	
	
	
}
